1. Field of the Invention
The present invention relates to a method for automatic detection of baud rate and character configuration of a received asynchronous serial data stream, such as number of bits per character, and whether even, odd, or no parity is used, by detecting at least a first predetermined two character sequence from patterns of signal states and their durations.
2. Description of the Related Art
Such a method is known from EP 0 669 738 A2 in which it is indicated that the predetermined two character sequence must conform to the requirement that each character of the sequence has at least one single bit transition (a "010" or "101" bit string) and the two characters have different parity values.
It is also well known in asynchronous serial data communications to use the two character sequence "AT" or "at" as control characters which are a prefix to commands issued from the sending device to the receiving device. This two character sequence in either uppercase or lowercase form conforms to the aforementioned requirement when it is considered that all characters are preceded by a stop bit or idle state of "1" followed by a start bit of "0". For example, the characters "A" and "a" begin after the start bit with the 7 bit string "10000?1" (where "?" is "0" for "A" and "1" for "a") irrespective of whether the number of bits per character is 7 or more, and irrespective of whether even, odd, or no parity is used. When a character sequence of either "AT" or "at" is received at a communications device, it is typically necessary for the receiving device to echo the sequence back to the sending device in order for communications to continue. The echoing may be commanded by a software application accessing the receiving device or may be done automatically by the receiving itself in an "autoecho" mode. Depending on the communication protocol established, it may be required that the receiving device also automatically echo the character sequence "A/" or "a/", which is typically used to indicate that the previous command should be executed by the receiving device.
With each new multimedia or internet application, higher baud rates are needed in systems such as modems which operate at variable baud rates. Where once upper limits of several to tens of thousand baud were sufficient in such systems, now rates approaching one million baud will be used in systems having a variable baud rate. Autobaud detection at such a high baud rate is not generally realizable in available serial data communication receivers, because of the short time allowed to detect an "AT" or "at" sequence (and also if required an "A/" or "a/" sequence) in a data stream of unknown baud rate, character length, and parity, and to decide whether it should be echoed.